/**
 * 进度条元素接口
 * 定义所有进度条元素必须实现的方法
 */
export interface ProgressElementInterface {
  /**
   * 创建进度条元素
   * @returns 进度条DOM元素
   */
  createElement(): HTMLElement;

  /**
   * 更新进度条中间状态
   * @param progress 当前进度百分比 (0-100)
   * @param params 可选的自定义参数对象，用于模板变量替换
   */
  updateState(progress: number, params?: Record<string, any>): void;

  /**
   * 获取进度条DOM元素
   * @returns HTMLElement 进度条元素
   */
  getElement(): HTMLElement;
}